package cn.teduymdj.jxc.service;


import cn.teduymdj.jxc.pojo.dto.OverflowListAddNewDTO;
import cn.teduymdj.jxc.pojo.dto.OverflowListAddNewDTO02;
import cn.teduymdj.jxc.pojo.dto.OverflowListGoodsAddNewDTO;
import cn.teduymdj.jxc.pojo.dto.SelectConditionDTO;
import cn.teduymdj.jxc.pojo.entity.OverflowList;
import cn.teduymdj.jxc.pojo.entity.OverflowListGoods;
import cn.teduymdj.jxc.pojo.vo.OverflowListGoodsListItemVO;
import cn.teduymdj.jxc.pojo.vo.OverflowListListItemVO;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDate;
import java.util.List;

/**
 * 商品报溢商品service接口
 *
 */
@Transactional
public interface OverflowListGoodsService {
	
	/**
	 * 保存商品商品报溢清单，商品商品报溢列表，修改商品属性
	 * @param overflowListAddNewDTO 商品商品报溢单
	 * @param overflowListGoodsAddNewDTOList 商品商品报溢列表
	 */
	public void save(OverflowListAddNewDTO02 overflowListAddNewDTO);
	
	/**
	 * 商品报溢单查询
	 * @param sTime 开始时间
	 * @param eTime 结束时间
	 * @return
	 */
	public List<OverflowListListItemVO> getOverflowlist(SelectConditionDTO selectConditionDTO);
	
	/**
	 * 根据商品报溢单ID查询商品报溢商品信息
	 * @param overflowListId 商品报溢单ID
	 * @return
	 */
	public List<OverflowListGoodsListItemVO> getOverflowListGoodsByOverflowListId(Long overflowListId);
	
	/**
	 * 根据商品报溢单ID查询商品报溢单信息
	 * @param overflowListId 商品报溢单ID
	 * @return
	 */
	public OverflowList getOverflowList(Long overflowListId);

}
